package com.nexgo.payment.action.online;

import com.nexgo.payment.BasePresenter;
import com.nexgo.payment.BaseView;
import com.nexgo.payment.entity.MessageData;

/**
 * Created by xiaox on 2017/7/10.
 */
public interface OnlineContract {

    interface View extends BaseView<Presenter> {

        /**
         * 更改dialog提示语
         *
         * @param tip 提示语
         */
        void showTip(String tip);

        /**
         * 提前包异常，直接退出
         */
        void showOnlineQuit();

        /**
         * 无网络连接，直接退出
         */
        void showNetworkError();

        /**
         * 连接后台出错，直接退出
         */
        void showConnectError();

        /**
         * 各种超时异常
         */
        void showReceiveTimeout();

        /**
         * 各种已连接后台，但中途出错了
         */
        void showOnlineError();

        /**
         * 交易成功
         *
         * @param messageData 发送包以及接收包
         */
        void showSuccessful(MessageData messageData);

        boolean isActive();

        /**
         * 设置联网倒计时
         *
         * @param timeOut
         */
        void setCountDown(int timeOut);

        void showCheckLocationFail();

        void showError(String message);
    }

    interface Presenter extends BasePresenter {

    }
}
